home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 12 / Cream of the Crop 12 (Part II) / Cream of the Crop 12 (Part II).iso / OS2 / MEMSZ312.ZIP / SOURCE.ZIP / RESTRING.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-21  |  1.2 KB  |  55 lines

  1. // Class RESTRING: Encapsulates the load/discard
  2. //   logic for a resource String Table entry.
  3.  
  4. #ifndef RESTRING_H
  5. #define RESTRING_H
  6.  
  7. #define INCL_BASE
  8. #include <os2.h>
  9.  
  10. class ResourceString
  11. {
  12.   private:
  13.     HMODULE SavedModule ;
  14.     ULONG SavedId ;
  15.  
  16.     PVOID BlockPointer ;
  17.     PSZ StringPointer ;
  18.  
  19.   public:
  20.     // Constructor
  21.     ResourceString ( HMODULE Module, ULONG Id ) ;
  22.  
  23.     // Copy Constructor
  24.     ResourceString ( const ResourceString & Object )
  25.     {
  26.       SavedModule   = Object.SavedModule ;
  27.       SavedId       = Object.SavedId ;
  28.       BlockPointer  = Object.BlockPointer ;
  29.       StringPointer = Object.StringPointer ;
  30.     }
  31.  
  32.     // Typecast Operators
  33.     operator unsigned char * ()
  34.     {
  35.       return ( (unsigned char *) StringPointer ) ;
  36.     }
  37.  
  38.     operator char * ()
  39.     {
  40.       return ( (char *) StringPointer ) ;
  41.     }
  42.  
  43.     // Assignment Operator
  44.     ResourceString & operator= ( const ResourceString & Object )
  45.     {
  46.       SavedModule   = Object.SavedModule ;
  47.       SavedId       = Object.SavedId ;
  48.       BlockPointer  = Object.BlockPointer ;
  49.       StringPointer = Object.StringPointer ;
  50.       return ( *this ) ;
  51.     }
  52. } ;
  53.  
  54. #endif
  55.